$(function () {

    // 滚动条下拉到底
    function scrollConversationScreen() {
        $("input[name='message']").focus();
        $('.messages-list').scrollTop($('.messages-list')[0].scrollHeight);
    }

    // 添加消息函数
    function addNewMessage(message_id) {
        $.ajax({
            url: '/messages/receive-message/',
            data: {'message_id': message_id},
            cache: false,
            success: function (data) {
                $(".send-message").before(data); // 将接收到的消息插入到聊天框
                scrollConversationScreen(); // 滚动条下拉到底
            }
        });
    }

    // AJAX POST发送消息
    $("#send").submit(function () {
        $.ajax({
            url: '/messages/send-message/',
            data: $("#send").serialize(),
            cache: false,
            type: 'POST',
            success: function (data) {
                $(".send-message").before(data);  // 将接收到的消息插入到聊天框
                $("input[name='message']").val(''); // 消息发送框置为空
                scrollConversationScreen();  // 滚动条下拉到底
            }
        });
        return false;
    });

    // WebSocket连接，使用wss(https)或者ws(http)
    const ws_scheme = window.location.protocol === "https" ? "wss" : "ws"; // 三目，找出wss还是ws
    const ws_path = ws_scheme +"://" + window.location.host + "/ws/" + currentUser + '/';  // 找出地址
    const ws = new ReconnectingWebSocket(ws_path);
    // 监听后端发来的消息
    ws.onmessage = function (event){
        const data = JSON.parse(event.data);
        if (data.sender === activeUser){  // 发送者为当前选中用户
            $(".send-message").before(data.message); // 插入消息
            scrollConversationScreen();  // 滚动条下拉
        }
    }
});

/*
//  WebSocket构造函数，用于新建WebSocket实例
var ws = new WebSocket('ws://ip:80', 'websocket');

//  使用reconnection-websocket构造函数
var socket = new ReconnectingWebSocket('ws://ip:80', 'websocket', options);
*/
